package be.kuleuven.cs.mop.domain.model;



/**
 * Represents a custom theme configuration
 */
public interface Theme {
	
	/**
	 * Returns the specified field-name
	 * 
	 * @param taskType - the {@link TaskType} to which the field belongs
	 * @param id - the ID of the field
	 */
	public String getFieldName(TaskType taskType, String id);
	
	/**
	 * Returns the specified {@link ResourceType}
	 * 
	 * @param id - the ID of the {@link ResourceType}
	 */
	public ResourceType getResourceType(String id);
	
	/**
	 * Returns the specified {@link TaskType}
	 * 
	 * @param id - the ID of the {@link TaskType}
	 */
	public TaskType getTaskType(String id);
	
	/**
	 * Returns the specified {@link UserType}
	 * 
	 * @param id - the ID of the {@link UserType}
	 */
	public UserType getUserType(String id);
	
}